package ch06_factory.abstractfactory;

/**
 * 抽象工厂
 * 抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口
 * 产品等级：相同类型，都是一样的产品等级，都是交通工具（汽车、高铁、飞机）。
 * 产品组：一系类的产品（小米手机、小米电脑、小米手环）
 * 缺点：不方便扩展新的产品
 *
 * @author guodd
 * @version 1.0
 * 功能模块：控制[系类]产品
 * @see java.sql.Connection
 */
public class MainTest {
    public static void main(String[] args) {
        AbstractFactory factory = new DefaultFactory();

        Vehicle v = factory.createVehicle();
        Food f = factory.createFood();
        Weapon w = factory.createWeapon();

        v.go();
        f.eat();
        w.shoot();
    }
}
